package javaer.starter.base.domain.dto;

import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

import java.io.Serializable;
import java.util.Map;
import java.util.Set;

/**
 * @author yangzhen
 * @date 2023/6/5 14:56
 * @since 1.0.0
 */
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class NewProjectDefinition implements Serializable {

    /**
     * 是否单模块应用
     */
    Boolean isSingle = false;
    /**
     * 脚手架类型
     */
    String typeId;
    /**
     * 指定的父pom
     */
    PomParent pomParent;
    /**
     * 编译版本
     */
    String compiler = "11";
    /**
     * 项目的组id
     */
    String groupId;
    /**
     * 项目名称
     */
    String artifactId;
    /**
     * 项目起始版本号
     */
    String version;
    /**
     * 项目描述
     */
    String description;
    /**
     * 基础包名
     */
    String basePackage;
    /**
     * 选取的模块id
     */
    Set<String> moduleIds;
    /**
     * 模块和依赖的映射
     */
    Map<String, Set<String>> moduleDependencyMapping;
}
